//file name: udp.v
//author:    shugenyin
//date:		 2018.1.2
//function:  UDP Sender
//log:


module udp(
	input			rst_n,

	input			e_clk,
	output			e_txen,
	output	[7:0]	e_txd,                              
	output		    e_txer,		
	
	input			key_valid,

	input  [10:0]   frame_index,                          		
		
	input  [15:0]   tx_data_length,                       
	input  [15:0]   tx_total_length
);


wire	[7:0]	datain=8'h78; //发送的单位数据

wire	[31:0]	crcnext;
wire	[31:0]	crc32;
wire	crcreset;
wire	crcen;

//IP frame
ipsend ipsend_inst(
	.clk				(~e_clk),
	.rst_n				(rst_n),
	.txen				(e_txen),
	.txer				(e_txer),
	.dataout			(e_txd),
	
	.datain				(datain),     
	.key_valid			(key_valid),
	.frame_index		(frame_index), 		
	
	.crc				(crc32),
	.crcen				(crcen),
	.crcre				(crcreset),
	.tx_state			(),
	.tx_data_length		(tx_data_length),
	.tx_total_length	(tx_total_length)

	);
	
//crc32
crc crc_inst(
	.Clk(e_rxc),
	.Reset(crcreset),
	.Enable(crcen),
	.Data_in(e_txd),
	.Crc(crc32),
	.CrcNext(crcnext));


	
endmodule
